頁面快取指的是在伺服器端快取整個頁面的內容。稍後當再次請求相同的頁面時,將從快取提供其內容,而不是從頭開始重新生成它。
頁面快取由 yii\filters\PageCache 支援,這是一個動作過濾器。它可以像下面這樣在控制器類別中使用
public function behaviors()
{
return [
[
'class' => 'yii\filters\PageCache',
'only' => ['index'],
'duration' => 60,
'variations' => [
\Yii::$app->language,
],
'dependency' => [
'class' => 'yii\caching\DbDependency',
'sql' => 'SELECT COUNT(*) FROM post',
],
],
];
}
上面的程式碼表示頁面快取應僅用於 index
動作。頁面內容應快取最多 60 秒,並應根據當前應用程式語言進行變化,如果文章總數發生變化,則應使快取頁面失效。
如您所見,頁面快取與片段快取非常相似。它們都支援諸如 duration
、dependencies
、variations
和 enabled
之類的選項。它們的主要區別在於頁面快取是作為動作過濾器實現的,而片段快取是一個小組件。
發現錯字或您認為此頁面需要改進?
在 github 上編輯 !
註冊 或 登入 以發表評論。